#pragma once
#include <QObject>
class Login: public QObject
{
	Q_OBJECT
	Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged);
	Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
	Q_PROPERTY(QString errorMessage READ errorMessage WRITE errorMessage NOTIFY errorMessage)
public:
	explicit Login(QObject* parent = nullptr) {};
	// READ方法
	QString name() const ;
	QString password() const;
	QString errorMessage() const;
	// WRITE方法
	void setName(const QString& username);
	void setPassword(const QString& password);
	// 登录方法
	Q_INVOKABLE void loginUser();
signals:
	void nameChanged(); // NOTIFY信号
	void passwordChanged();
	void loginSuccess(); 
	void loginFailed();
	void errorMessage(const QString& message);
private:
	QString m_username;
	QString m_password;
	bool  m_isLogin; // 登录状态
	QString languageStatus; //语言切换
	QString m_errorMessage; //异常提示语
};

